package cn.tedu.xmfhlittlebird.mapper;

import cn.tedu.xmfhlittlebird.pojo.entity.StoreCoupon;
import cn.tedu.xmfhlittlebird.pojo.vo.StoreCouponListItemVO;
import cn.tedu.xmfhlittlebird.pojo.vo.StoreCouponStandardVO;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 处理优惠券的Mapper
 * @author chen
 */
@Repository
public interface CouponMapper {
    /**
     * 插入优惠券数据
     * @param StoreCoupon 优惠券数据
     * @return 受影响的行数
     */
    int insert(StoreCoupon StoreCoupon);

    /**
     * 根据id删除优惠券
     * @param id 尝试删除的优惠券id
     *@return 受影响的行数
     */
    int deleteById(Long id);

    /**
     * 修改优惠券数据
     * @param StoreCoupon 尝试修改的优惠券信息
     * @return 受影响的行数
     */
    int updateById(StoreCoupon StoreCoupon);

    /**
     * 根据id查询优惠券详情
     * @param id 尝试查询的优惠券id
     * @return  返回与id匹配的优惠券数据详情，如果没有匹配的数据，则返回null
     */
    StoreCouponStandardVO getStandardById(Long id);

    /**
     * 查询优惠券列表
     *
     * @return 优惠券列表，如果没有匹配的优惠券，将返回长度为0的列表
     */
    List<StoreCouponListItemVO> list();
}
